﻿using Microsoft.AspNetCore.Http;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace BUGCOME.Model.File.Dto
{
    /// <summary>
    /// 上传参数DTO
    /// </summary>
    public class UploadDto 
    {
        /// <summary>
        /// 文件
        /// </summary>
        public IFormFile File { get; set; }
        /// <summary>
        /// 文件名称类型（1=原文件名，2=自定义名，3=哈希名）
        /// </summary>
        public int FileNameType { get; set; } = 3;


        /// <summary>
        /// 文件名称
        /// </summary>
        public string? FileName { get; set; } = "";

        /// <summary>
        /// 存储类型（1=本地，2=阿里云OSS，3=AWS S3）
        /// </summary>
        public int StorageType { get; set; } = 1;
        /// <summary>
        /// 存储目录前缀
        /// </summary>
        public string? FileDir { get; set; }
        // <summary>
        /// 可见性（1=公开免费，2=按次收费，3=会员专属）
        /// </summary>
        public int Visibility { get; set; }
        /// <summary>
        /// 存储路径标识（对应LocalStorage.PathMappings的键）
        /// </summary>
        public int? StoragePath { get; set; }

        /// <summary>
        /// 文件状态（0=定时删除，1=正常，2=禁用）
        /// </summary>
        public int? Status { get; set; } = 1;

        /// <summary>
        /// 图片压缩质量（0-100，0表示不压缩）
        /// </summary>
        public int Quality { get; set; } = 100;
    }
}
